#pragma once
#include "BaseFunByOneVar.h"

namespace Net
{

class FunByArcSin : public BaseFunByOneVar
{
public:
    FunByArcSin() : BaseFunByOneVar(FunType_E::ArcSin_E, "ArcSin")
    {

    }

    ~FunByArcSin()
    {

    }

    Value_t runFun(Value_t x) final
    {
        return std::asin(x);
    }

    Value_t runDiff(Value_t x) final
    {
        return 1 / std::sqrt(1 - x * x);
    }
};

}